﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Text.RegularExpressions;
using MySql.Data.MySqlClient;

namespace QLKS
{
    public partial class f_Login : Form
    {
        public Dictionary<string, string> GetPassFromUser;
        public int Logined = 0; 
        public static string[] User = new string[2];
        public f_Login()
        {
            InitializeComponent();
        }
  

        private void bt_dangnhap_Click(object sender, EventArgs e)
        {
            //Lọc giá trị nhập vào
            string tx_user = tb_user.Text;
            string tx_pass = tb_pass.Text;
            if (tx_user != "" && tx_pass != "")
            {
                Mysql qmysql = new Mysql();
                //Kiem tra va loc string
                string tmp_user = Regex.Replace(tx_user, @"\W+", "");
                string tmp_pass = Regex.Replace(tx_pass, @"\W+", "");
                //md5 pass
                string md5pass = Program.md5(tmp_pass);
                //open connection and get data

                //Getdata from database.
                string cmdText = "SELECT * FROM ht_nhanvien WHERE Username=?user LIMIT 0,1";
                Dictionary<string,string> Params = new Dictionary<string,string>();
                Params["user"] = tmp_user.Trim();
                this.GetPassFromUser = qmysql.SelectReaderSqlCommand(cmdText, Params);
                if (this.GetPassFromUser.Count > 0)
                {
                    if (this.GetPassFromUser["Matkhau"] != md5pass)
                    {
                        MessageBox.Show("Bạn nhập sai thông tin đăng nhập, vui lòng thử lại", "Đăng Nhập Không Thành Công");
                    }
                    else if(this.GetPassFromUser["Trangthai"]=="1"){
                        MessageBox.Show("Tài khoản đã đăng nhập tại một máy khác, vui lòng kết thúc phiên làm việc để đăng nhập.", "Đăng Nhập Không Thành Công");
                    }
                    else
                    {
                        // MessageBox.Show("Đăng nhập thành công. Chào " + this.GetPassFromUser["TenNV"] + " quay trở lại hệ thống", "Đăng Nhập Thành Công");
                        this.Logined = 1;
                        cmdText = "UPDATE ht_nhanvien SET Trangthai=?MaTT WHERE MaNV=?manv";
                        Dictionary<string, string> Params_stt = new Dictionary<string, string>();
                        Params_stt["MaTT"] = "0"; // Nho sua lai thanh 1;
                        Params_stt["manv"] = this.GetPassFromUser["MaNV"];
                        qmysql.NonQueryMysqlCommand(cmdText, Params_stt);
                        User[0] = this.GetPassFromUser["MaNV"];
                        User[1] = this.GetPassFromUser["TenNV"];
                        this.Hide();
                        Form fmain = new f_main();
                        fmain.Activate();
                    }
                }else{
                    MessageBox.Show("Không tồn tại Tài khoản này trong hệ thống. Vui lòng liên hệ người quản lý","Đăng Nhập Không Thành Công");
                }
            }
            else
            {
                MessageBox.Show("Vui lòng điền đầy đủ thông tin", "Lỗi Đăng Nhập");
                tb_user.Focus();
            }
        }

        private void tb_user_Click(object sender, EventArgs e)
        {
            tb_user.SelectAll();
            tb_pass.SelectAll();
        }
    }
}
